package org.iamd.util;

/**
 * Енумерация за бъндълите от общия модул.
 * 
 * @author И. Атанасов
 */
public enum CommonMsgKeys implements IMsgKeys {

	/**
	 * Ключ за възникнало изключение при инициализация на конфигурируем компонент.
	 */
	M0000_COMPONENT_INIT_FAILED,

	/**
	 * Ключ за възникнало изключение при неуспешно инстанциране на административен контекст.
	 */
	M0001_CREATE_ADM_CTX_FAILED,

	/**
	 * Ключ за възникнало изключение при инстанцирането на VO.
	 */
	M0002_CREATE_VO_FAILED,

	/**
	 * Ключ за възникнало изключение при инстанцирането на DAO.
	 */
	M0003_DAO_INIT_FAILED,

	/**
	 * Ключ за възникнало изключение при deep копие на бизнес обект.
	 */
	M0004_LOAD_BUSS_OBJ_FAILED,

	/**
	 * Ключ за възникнало изключение при търсене на номенклатура.
	 */
	M0005_LOAD_METADATA_FAILED,

	/**
	 * Ключ за възникнало изключение при търсене на обект.
	 */
	M0006_SEARCH_FAILED,

	/**
	 * Ключ за възникнало изключение при търсенето на услуга на сигурността.
	 */
	M0007_SEC_SERVICE_NOT_FOUND,

	/**
	 * Ключ за възникнало изключение при insert/update на обект.
	 */
	M0008_STORE_BUSS_OBJ_FAILED,

	/**
	 * Ключ за съобщение за стартирано зареждане на обект.
	 */
	M0009_LOAD_OBJECT_STARTED,

	/**
	 * Ключ за съобщение за завършено зареждане на обект.
	 */
	M0010_LOAD_OBJECT_FINISHED,

	/**
	 * Ключ за съобщение за стартирано запазване на обект.
	 */
	M0011_STORE_OBJECT_STARTED,

	/**
	 * Ключ за съобщение за завършено запазване на обект.
	 */
	M0012_STORE_OBJECT_FINISHED,

	/**
	 * Ключ за съобщение за започване опресняване на метаданни в кеша.
	 */
	M0013_REFRESH_METADATA,

	/**
	 * Ключ за съобщение за успешно завършено опресняване на метаданни в кеша.
	 */
	M0014_REFRESH_METADATA_COMPLETED,

	/**
	 * Ключ за възникнално изключение при опресняване на метаданни в кеша.
	 */
	M0015_REFRESH_METADATA_FAILED,

	/**
	 * Ключ за възникнало изключение при инстанциране на Data Access обект.
	 */
	M0016_DAO_INSTANTIATING_FAILED,

	/**
	 * Ключ за възникнало изключение при неоторизиран опит за изтриване на обект.
	 */
	M0017_VO_DELETE_FAILED,

	/**
	 * Ключ за съобщение при неоторизирано четене на обект.
	 */
	M0018_VO_READ_FAILED,

	/**
	 * Ключ за възникнало изключение при неоторизиран опит за запис на обект.
	 */
	M0019_VO_SAVE_FAILED,

	/**
	 * Ключ за възникнало изключение при неоторизиран опит за модификация на обект.
	 */
	M0020_VO_UPDATE_FAILED,

	/**
	 * Ключ за възникнало изключение при клониране на метаданни.
	 */
	M0021_METADATA_CLONE_EX,

	/**
	 * Ключ за възникнало изключение при клониране на номенклатурен елемент.
	 */
	M0022_METAVALUE_CLONE_EX;

	/**
	 * @return името на бъндъла - "CommonMessages"
	 */
	@Override
	public String getBundleName() {
		return "CommonMessages";
	}

	/**
	 * @return ключа на съобщението в message bundle-a.
	 */
	@Override
	public String getMsgKey() {
		return name().substring(0, name().indexOf("_"));
	}

}